// SISTEMA : Sistema de Identificacao Criminal
// PROGRAMA : SCRP1620
// O QUE FAZ � Relatorio
// Data : 29 de Julho de 1997
// Mapa : SCRR1500, SCRMERRO

package br.com.vti.sisp_sicrim.antigo.controller.programa;

import java.io.FileNotFoundException;
import java.text.ParseException;

import net.sf.jasperreports.engine.JRException;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.controller.relatorios.Scrp1650Report;
import br.com.vti.sisp_sicrim.antigo.model.SicCadastro;
import br.com.vti.sisp_sicrim.antigo.util.ExceptionProgram;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Scrp1650 O QUE FAZ � Relatorio *
 * 
 * @author Incode - Data: mai/2014
 * 
 */

@Resource
@Path("/antigo/scrp1650")
public class Scrp1650 {
	// Views utilizadas
	SicCadastro criminalView = new SicCadastro();
	// Telas/relatorios utilizados
	Scrp1650Report report;
	// Includes utilizados
	// Areas globais / session // Funcoes/subrotinas
	FuncoesGerais funcoes = new FuncoesGerais();

	Result result;
	Sessao sessao;
	Boolean primeiraVez = false;

	private int jQuant = 0;

	public Scrp1650(Result result, Sessao sessao) {
		this.result = result;
		this.sessao = sessao;
	}

	@Post
	public void executar() {
		try {
			main();
		} catch (Exception e) {
			throw new ExceptionProgram(e, sessao, this.getClass().getSimpleName());
		}
	}

	private void main() throws JRException, ParseException, FileNotFoundException {
		// RELATORIO
		report = new Scrp1650Report();
		report.setPageSize(60);
		report.setLineSize(133);
		// Par�grafo: fd33()
		while (criminalView.leituraRegEstadualGeral()) {
			// READADA
			report.setJquant(jQuant);
			report.setJnome(criminalView.getNomeCompleto());
			report.setJmae(criminalView.getNomeMae());
			report.setJpai(criminalView.getNomePai());
			report.setJdatas(UtilBean.inverteData(criminalView.getDataNasc()));
			report.setRegistroEstadualGeral(criminalView.getRegEstadualGeral());
			report.gravaRelatorio(2);

			jQuant += 1;
			// UtilBean.mensagemTexto("Registro"
			// criminalView.getRegEstadualGeral());
			// "Nome Completo" jNome "Nome do Pai" jPai "Nome da Mae" jMae
			// "Data Nascimento" jDataS);
			// jVariaveis = "";
		}
		report.setJquant(jQuant);
		report.gravaRelatorio(3);
		criminalView.fecha();
		report.imprimir();
	}
}
